今天一開始先談談OSI第7層實體層(標題寫TCP/IP link layer,包含了OSI第6、7層),實體層其實在CCNA課程的介紹不多,估計也不太考,就當作補充常識看看就好。
乙太網路目前主流都是用無遮蔽雙絞線(unshielded twisted-pair, UTP),由兩兩一對相互纏繞的傳輸線,一共四對不同顏色所組成,所以叫雙絞線。雙絞線相較於光纖或同軸電纜的成本要低,不過線路太長會有訊號衰減問題,一般用來短距離佈線,最常不超過100公尺。雙絞線接頭型號為RJ-45,俗稱水晶頭。乙太網路有一個特色是可以供電,稱為PoE(Power over Ethernet)。常用於無線基地臺、監視器等,在傳輸訊號的同時也供應電力給設備,也是使用雙絞線。
如果有上網路佈線類的課程,應該會知道平行線(straight-through)及跳線(crosssover)的差異。在CCNA課程也會稍微講到,簡單來說,兩台交換器如果要對接,理論上應該使用跳線。為什麼需要使用跳線,可見下圖。
https://i.stack.imgur.com/404u5.png
平行線就是指左側這張圖,RJ-45接頭的插槽共有8個腳位(Pin),它會將左邊RJ-45接頭的腳位1,傳到右邊的腳位1,其餘以此類推。交換器的RJ-45接頭從腳位1到腳位8分別是接收正極(Rx+)、接收負極(Rx-)、傳輸正極(Tx+)、未定義、未定義、傳輸負極(Tx-)、未定義、未定義。兩台交換器之間要傳遞資料,必須要正極接上負極,如果使用平行線,則兩邊的網路卡相對應的腳位都是正極對正極、負極對負極,無法互相傳輸,這時就必須使用跳線,如右圖。
交換器 | 路由器 | 個人電腦 | |
---|---|---|---|
交換器 | 跳線 | 平行線 | 平行線 |
路由器 | 平行線 | 跳線 | 跳線 |
個人電腦 | 平行線 | 跳線 | 跳線 |
目前網路設備大多數會自動偵測,如果應該插跳線卻插了平行線,機器會自動調整,還是可以通訊。然而上課時,老師還是建議使用相對應的傳輸線,因為實務上有發生網路設備未偵測到的情況。
資訊在傳輸時,訊號會隨著距離衰減,尤其是在使用金屬線時,因此雙絞線最長距離為100公尺。如果採用光纖傳輸,由於製作光纖的主要材料是矽,也就是玻璃,傳輸時以雷射將光脈衝傳送到光纖,比起在金屬線傳輸的電子,資訊的耗損要小得多,所以能夠提供高速且長距離的傳輸,也能免疫於電磁干擾(Electromagnetic Interference, EMI)。
光纖又可分為單模光纖(single-mode fiber)及多模光纖(multimode fiber),差別在於光纖的尺寸,單模光纖的直徑較小,僅能允許傳輸單一模式的光,多模光纖的直徑較大,能夠同時傳輸多種模式的光。這部分的資訊我上網抄的,我也不太懂,總之,單模光纖使用雷射傳輸光訊號,傳輸距離較長,多模光纖使用LED傳送光訊號,傳輸距離較短。價格方面,單模光纖整體設備較貴,多模光纖則比較便宜。在多年以前,我們就已經在使用單模光纖進行跨國連線了,不過現在區域網路也經常可以見到多模光纖了。
訊框(frame)是指在OSI第二層資料鏈結層傳遞的訊息,目前規格主要是乙太二(Ethernet II)。組成方式如下表:
Bytes | 8 | 6 | 6 | 2 | 46-1500 | 4 |
---|---|---|---|---|---|---|
內容 | 前置訊號(Preamble) | 目標MAC位址(Destination MAC Address) | 來源MAC位址(Source MAC Address) | 類型(Type) | 訊息內容(Payload) | 訊框檢查序列(Frame Check Sequence, FCS) |
前置訊號(Preamble):一共有8個位元組(Bytes),前7個位元組用來調整時序,與接收端主機同步,第8個位元組作為前置訊號與框架內容的分界。
目標MAC位址(Destination MAC Address):在第二層都是使用MAC位址互相傳遞位址,如果不知道目的端實體位址,可以把目的端Mac位址都設定為1,代表廣播位址,對網路內所有主機發送訊息。
來源MAC位址(Source MAC Address):來源Mac位址不能為廣播位址。
類型(Type):這裡會放網路層協定的種類,例如0800代表IP協定。在IEEE802.3中,類型欄位改為長度(Length)欄位,用以記載訊框長度。
訊息內容(Payload):總長度在46~1500位元組,如果不足46位元組,會填入00替代。如果超過1500位元組,就用下一個訊框繼續傳送。
訊框檢查序列(Frame Check Sequence, FCS):使用循環冗餘校驗(Cyclic Redundancy Check, CRC)計算,如果來源端與接收端分別計算出來的的CRC值皆相同,代表訊框無損。
MAC位址(Media Access Control Address)可直譯為媒體存取控制位址,當然習慣上還是直接稱為MAC位址,可以視為網卡的編號。MAC位址主要是在OSI模型第二層資料鏈結層使用,也就是乙太網路、Wi-Fi、藍芽。
MAC位址有6個位元組(48個位元),前3個位元組由IEEE分配給製造商,後3個位元組為網卡序號,理論上每一個網卡位置不會重複,不過實務上仍有遇過重複的例子。
MAC位址以16進位表示,常見的MAC位址表現方式:
交換器負責維護MAC位址表,標示著每一個埠口(port)對應的MAC位址。交換器如果收到一個訊框,目標MAC位址與來源MAC位址一模一樣,交換器便會拋棄(drop)訊框,此功能稱為過濾(filtering)。另一個功能叫沖刷(flooding),亦即交換器會將訊框送往每一個埠口。
PC2#show interface e0/0 | include address
Hardware is AmdP2, address is aabb.cc00.0800 (bia aabb.cc00.0800)
Internet address is 10.10.1.20/24
SW2#show mac address-table
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 aabb.cc00.0600 DYNAMIC Et0/1
1 aabb.cc00.0800 DYNAMIC Et0/2
Total Mac Addresses for this criterion: 2
這裡可以看到交換器SW2的Et0/2埠口,對應到主機PC2,MAC位址是aabb.cc00.0800,與前面在主機PC2查詢到的MAC位址相同。
SW2#clear mac address-table dynamic
SW2#show mac address-table
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----